using System;
using System.Runtime.Serialization;

using BLToolkit.DataAccess;

using TrueCode.Core.EditableEntity;

namespace EMan.Common
{
  [DataContract( IsReference=true)]
  public class ReferenceEntity< T > : IEntity< T >
  {
    [DataMember]
    public Guid Key { get; protected set; }

    [DataMember]
    [PrimaryKey, NonUpdatable]
    [Editable(EditableMode.Updatable)]
    public int Id { get; set; }

    [DataMember]
    [Editable(EditableMode.Updatable)]
    public int Revision { get; set; }

    T IEntity< T >.Copy()
    {
      throw new NotImplementedException();
    }
  }
}